Dipublikasikan: 28 Mei 2025
Kecuali jika dinyatakan lain, perubahan berikut berlaku untuk rilis saluran Chrome beta terbaru untuk Android, ChromeOS, Linux, macOS, dan Windows. Pelajari lebih lanjut fitur yang tercantum di sini melalui link yang disediakan atau dari daftar di ChromeStatus.com. Chrome 138 adalah versi beta mulai 28 Mei 2025. Anda dapat mendownload versi terbaru di Google.com untuk desktop atau di Google Play Store di Android.
CSS dan UI
Rilis ini menambahkan enam fitur CSS dan UI baru.
Kata kunci ukuran stretch
CSS
Kata kunci untuk properti ukuran CSS (misalnya, width
, dan height
) yang
memungkinkan elemen berkembang untuk mengisi ruang yang tersedia di blok penampung
dengan tepat. Ini mirip dengan 100%
, kecuali ukuran yang dihasilkan diterapkan ke
kotak margin elemen, bukan kotak yang ditunjukkan oleh box-sizing
. Dengan menggunakan
kata kunci ini, elemen dapat mempertahankan marginnya sekaligus tetap sebesar
mungkin.
Fungsi terkait tanda CSS: abs()
, sign()
Fungsi terkait tanda abs()
dan sign()
menghitung berbagai fungsi
yang terkait dengan tanda argumennya.
Variabel env CSS untuk skala font tingkat OS
Mengekspos skala font pilihan pengguna ke CSS. Saat ini, tidak praktis bagi halaman untuk mendeteksi apakah pengguna telah mengubah ukuran font pilihannya dengan preferensi Sistem Operasi. Variabel lingkungan CSS ini akan mencerminkan skala yang dipilih oleh pengguna.
sibling-index()
dan sibling-count()
CSS
Fungsi sibling-index()
dan sibling-count()
dapat digunakan sebagai bilangan bulat dalam
nilai properti CSS untuk menata gaya elemen berdasarkan posisinya di antara
elemen yang bersaudara, atau jumlah total elemen yang bersaudara. Fungsi ini dapat
digunakan langsung sebagai nilai bilangan bulat, tetapi yang lebih menarik adalah di dalam ekspresi
calc()
.
li {
animation-delay: calc(0.1s * sibling-index());
}
Notasi fungsi progres interpolasi: Fungsi progress()
CSS
Notasi fungsional progress()
adalah fungsi matematika yang menampilkan
nilai <number>
yang mewakili posisi satu penghitungan (nilai
progres) di antara dua penghitungan lainnya (nilai awal progres dan nilai akhir
progres).
Viewport Segments Enumeration API
Viewport Segments API memungkinkan developer menyesuaikan tata letak web mereka untuk menargetkan perangkat foldable. Segmen area pandang menentukan posisi dan dimensi wilayah area pandang yang terpisah secara logis. Segmen area pandang dibuat saat area pandang dibagi oleh satu atau beberapa fitur hardware (seperti lipatan atau engsel di antara layar terpisah) yang berfungsi sebagai pembagi; segmen adalah wilayah area pandang yang dapat diperlakukan sebagai berbeda secara logis oleh developer.
Web API
Menambahkan dukungan untuk metadata orientasi frame video ke WebCodecs
Memperkenalkan nilai rotation: int
dan flip: bool
ke berbagai antarmuka terkait
video di WebCodecs sehingga developer dapat menggunakan sumber frame yang memiliki
orientasi (misalnya, kamera Android, dan media tertentu). Antarmuka
VideoFrame
mengembangkan kemampuan untuk membuat VideoFrames dengan rotasi dan
pembalikan arbitrer serta accessor untuk informasi ini pada objek VideoFrame
. Objek
VideoDecoderConfig
mendapatkan kolom rotation
dan flip
yang dimunculkan
pada objek VideoFrame yang didekode secara otomatis. Class VideoEncoder
mendapatkan
mekanisme untuk meneruskan informasi rotasi dan flip dari encode()
ke
VideoDecoderConfig
yang dimunculkan sebagai bagian dari EncodedVideoChunkMetadata
. Jika
encode()
dipanggil dengan frame dengan pengecualian orientationnonfatalatal
yang berbeda akan ditampilkan. Metode configure()
dapat digunakan untuk mereset
orientasi yang diizinkan.
Crash Reporting API: is_top_level
dan visibility_state
Fitur ini menambahkan kolom string is_top_level
dan visibility_state
ke
isi API pelaporan error yang dikirim ke endpoint pelaporan default untuk
laporan error.
Meng-escape <
dan >
dalam atribut pada serialisasi
Meng-escape <
dan >
dalam nilai atribut pada serialisasi. Hal ini mengurangi
risiko serangan XSS mutasi, yang terjadi saat nilai atribut
ditafsirkan sebagai token tag awal setelah diserialisasi dan diuraikan ulang.
Kebijakan Integritas untuk skrip
Subresource-Integrity (SRI) memungkinkan developer memastikan aset yang
ingin dimuat memang aset yang dimuat. Namun, saat ini tidak ada
cara bagi developer untuk memastikan bahwa semua skrip mereka divalidasi menggunakan SRI.
Header Integrity-Policy
memberi developer kemampuan untuk menyatakan bahwa setiap
resource dari jenis tertentu perlu diperiksa integritasnya. Jika resource jenis
tersebut dicoba dimuat tanpa metadata integritas, upaya tersebut akan
gagal dan memicu laporan pelanggaran.
Kuota penyimpanan yang dilaporkan dapat diprediksi
Melaporkan kuota penyimpanan yang dapat diprediksi dari Estimate API StorageManager untuk situs yang tidak memiliki izin penyimpanan tak terbatas. Anda dapat mendeteksi mode penjelajahan pengguna menggunakan kuota penyimpanan yang dilaporkan karena ruang penyimpanan yang tersedia jauh lebih kecil dalam mode Samaran daripada dalam mode reguler.
Ini adalah mitigasi yang mencegah deteksi mode penjelajahan pengguna menggunakan storage API dengan melaporkan kuota buatan, yang sama dengan penggunaan + min(10 GiB, disk dibulatkan ke atas hingga 1 GiB terdekat), di semua mode penjelajahan untuk situs dengan izin penyimpanan terbatas. Situs dengan izin penyimpanan tak terbatas tidak akan terpengaruh. Kuota yang diterapkan juga tidak akan terpengaruh.
Peristiwa pushsubscriptionchange
setelah langganan ulang
Aktifkan peristiwa pushsubscriptionchange
di pekerja layanan saat origin yang sebelumnya memiliki langganan push, tetapi dicabut karena perubahan izin (dari diberikan menjadi tolak/default), diberi kembali izin notifikasi. Peristiwa akan diaktifkan dengan oldSubscription
dan
newSubscription
kosong.
Aturan spekulasi: Menambahkan prefetchCache
dan prerenderCache
ke header Clear-Site-Data
Dua nilai baru untuk header Clear-Site-Data
guna membantu developer menargetkan penghapusan cache pra-rendering dan pramuat: prefetchCache
dan prerenderCache
.
Ini dapat dikirim pada permintaan apa pun dan tidak perlu dibuat pada permintaan
dokumen (misalnya, dapat ditampilkan pada respons panggilan API
add-to-basket, atau login dan logout untuk menghapus spekulasi tentang perubahan status).
Aturan spekulasi: kolom target_hint
Hal ini memperluas sintaksis aturan spekulasi untuk memungkinkan developer menentukan
kolom target_hint
. Kolom ini memberikan petunjuk untuk menunjukkan target yang dapat dijelajahi
tempat halaman yang dipra-render pada akhirnya akan diaktifkan. Jika _blank
ditentukan sebagai petunjuk, halaman pra-rendering dapat diaktifkan untuk halaman yang dapat dijelajahi dan dibuka
oleh window.open()
. Kolom tidak didukung untuk pengambilan data sebelumnya.
Kebijakan Origin yang Sama yang Ketat untuk Storage Access API
Menyesuaikan semantik Storage Access API agar mengikuti Kebijakan Asal
yang Sama secara ketat, sehubungan dengan keamanan. Artinya, penggunaan
document.requestStorageAccess()
dalam frame hanya akan melampirkan cookie ke permintaan
ke origin iframe (bukan situs) secara default.
Summarizer API
JavaScript API untuk membuat ringkasan teks input, yang didukung oleh model bahasa
AI. Browser dan sistem operasi semakin diharapkan untuk mendapatkan akses
ke model bahasa. Dengan mengekspos model bawaan ini, kita menghindari setiap situs
yang perlu mendownload model bahasa multi-gigabyte mereka sendiri, atau mengirim teks input
ke API pihak ketiga. Secara khusus, API ringkasan mengekspos API tingkat tinggi
untuk berinteraksi dengan model bahasa guna meringkas input untuk berbagai
kasus penggunaan dengan cara yang tidak bergantung pada model bahasa tertentu
yang dimaksud. Kebijakan perusahaan (GenAILocalFoundationalModelSettings
)
tersedia untuk menonaktifkan download model yang mendasarinya, yang akan membuat
API ini tidak tersedia.
Pelajari lebih lanjut di Membuat ringkasan ringkas dengan AI bawaan.
Language Detector API
API JavaScript untuk mendeteksi bahasa yang digunakan dalam teks tertentu, dengan tingkat kepercayaan. Ini adalah suplemen penting untuk terjemahan, yaitu deteksi bahasa, dan dapat digunakan bersama dengan Translator API. Misalnya, ambil input pengguna dalam bahasa yang tidak diketahui, tentukan bahasanya, lalu terjemahkan ke bahasa target tertentu. Meskipun Browser sering kali sudah memiliki kemampuan deteksi bahasa, hal ini menawarkan kemampuan yang sama kepada developer web dengan JavaScript API, yang melengkapi API terjemahan.
Kebijakan perusahaan (GenAILocalFoundationalModelSettings
) tersedia untuk
menonaktifkan model yang mendasarinya agar tidak didownload, yang akan membuat API ini
tidak tersedia.
Pelajari lebih lanjut di Mendeteksi bahasa yang digunakan dengan AI bawaan.
Translator API
JavaScript API untuk menyediakan kemampuan terjemahan bahasa ke halaman web.
Meskipun browser semakin banyak menawarkan terjemahan bahasa kepada penggunanya,
kemampuan terjemahan tersebut juga dapat berguna bagi developer web. Hal ini
terutama terjadi jika kemampuan terjemahan bawaan browser tidak dapat membantu,
seperti dengan layanan live dan interaktif. Kebijakan perusahaan
(GenAILocalFoundationalModelSettings
) tersedia untuk menonaktifkan download
model yang mendasarinya yang akan membuat API ini tidak tersedia.
Pelajari lebih lanjut di Terjemahan dengan AI bawaan.
Ekstensi cakupan aplikasi web
Menambahkan kolom manifes aplikasi web
"scope_extensions"
yang memungkinkan aplikasi web memperluas cakupannya ke origin lain. Hal ini memungkinkan situs yang mengontrol beberapa subdomain dan domain level teratas ditampilkan sebagai satu aplikasi web. Memerlukan origin yang tercantum untuk mengonfirmasi pengaitan dengan aplikasi web menggunakan file konfigurasi .well-known/web-app-origin-association
.
Serial web melalui Bluetooth di Android
Fitur ini memungkinkan halaman web dan aplikasi web terhubung ke port serial melalui
Bluetooth di perangkat Android. Chrome di Android
kini mendukung Web Serial API melalui Bluetooth RFCOMM. Kebijakan perusahaan yang ada
(DefaultSerialGuardSetting
, SerialAllowAllPortsForUrls
,
SerialAllowUsbDevicesForUrls
, SerialAskForUrls
, dan SerialBlockedForUrls
)
di platform lain diaktifkan dalam status future_on untuk Android. Semua kebijakan
kecuali SerialAllowUsbDevicesForUrls
akan diaktifkan setelah fitur
diaktifkan. SerialAllowUsbDevicesForUrls
akan diaktifkan dalam peluncuran mendatang setelah
Android memberikan dukungan level sistem untuk port serial berkabel.
Penghentian dan penghapusan
Versi Chrome ini memperkenalkan penghentian dan penghapusan berikut. Buka ChromeStatus.com untuk melihat daftar penghentian penggunaan yang direncanakan, penghentian penggunaan saat ini, dan penghapusan sebelumnya.
Rilis Chrome ini tidak lagi menggunakan dua fitur.
Menghentikan penggunaan penghapusan rentang asinkron untuk Ekstensi Sumber Media
Standar Sumber Media telah lama diubah untuk melarang perilaku yang ditentukan secara ambigu yang melibatkan penghapusan rentang asinkron:
SourceBuffer.abort()
tidak lagi membatalkan operasiSourceBuffer.remove()
.- Setelan
MediaSource.duration
tidak dapat lagi memotong media yang saat ini di-buffer.
Pengecualian kini akan ditampilkan dalam kedua kasus ini.
Menghapus penggantian SwiftShader
Izin penggantian otomatis ke WebGL yang didukung oleh perender software SwiftShader tidak digunakan lagi dan pembuatan konteks WebGL akan gagal, bukan dikembalikan ke SwiftShader. Hal ini dilakukan karena dua alasan utama:
- SwiftShader merupakan risiko keamanan yang tinggi karena kode JIT yang berjalan dalam proses GPU Chromium.
- Pengguna memiliki pengalaman buruk saat beralih dari WebGL yang didukung GPU berperforma tinggi ke penerapan yang didukung CPU. Pengguna tidak memiliki kontrol atas perilaku ini dan sulit menjelaskannya dalam laporan bug.
Selama periode penghentian penggunaan, peringatan akan muncul di konsol Chrome DevTools saat konteks WebGL dibuat dan didukung dengan SwiftShader. Meneruskan
--enable-unsafe-swiftshader
akan menghapus pesan peringatan ini.